﻿using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;

namespace com.hebg3.shell {
  public static class Process {
    /// <summary>   
    /// 以命令行方式操作一个文件   
    /// </summary>   
    /// <param name="CommandLine">命令行</param>   
    public static void ShellExecute(String CommandLine) {
      // 创建进程   
      System.Diagnostics.Process pro = new System.Diagnostics.Process();

      // 分离文件名和路径   
      // 定位路径   
      int IndexA = CommandLine.LastIndexOf('\\');
      if( IndexA >= 0 ) {   // 设定工作目录   
        pro.StartInfo.WorkingDirectory = CommandLine.Substring(0, IndexA);
      }

      // 定位文件名，判断是否带参数   
      IndexA++;
      int IndexB = CommandLine.IndexOf(' ', IndexA);
      if( IndexB >= 0 ) {   // 带有参数   
        pro.StartInfo.FileName = CommandLine.Substring(IndexA, IndexB - IndexA);
        pro.StartInfo.Arguments = CommandLine.Substring(IndexB + 1);
      } else {   // 不带参数   
        pro.StartInfo.FileName = CommandLine.Substring(IndexA);
      }

      pro.Start();
    }
  }
}

